翻訳と辞書
Words near each other
・ Generally Speaking Production Network
・ Generallöjtnant
・ Generalmajor
・ Generality Lands
・ Generality of algebra
・ Generalizability theory
・ Generalization
・ Generalization (disambiguation)
・ Generalization (learning)
・ Generalization error
・ Generalizations of Fibonacci numbers
・ Generalizations of Pauli matrices
・ Generalizations of the derivative
・ Generalized additive model
・ Generalized additive model for location, scale and shape
Generalized algebraic data type
・ Generalized anxiety disorder
・ Generalized Anxiety Disorder 7
・ Generalized Appell polynomials
・ Generalized arithmetic progression
・ Generalized assignment problem
・ Generalized audit software
・ Generalized Automation Language
・ Generalized beta distribution
・ Generalized Büchi automaton
・ Generalized canonical correlation
・ Generalized chi-squared distribution
・ Generalized Clifford algebra
・ Generalized complex structure
・ Generalized context-free grammar


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Generalized algebraic data type : ウィキペディア英語版
Generalized algebraic data type
In functional programming, a generalized algebraic data type (GADT, also first-class phantom type, guarded recursive datatype, or equality-qualified type) is a generalization of the algebraic data types of Haskell and ML, applying to parametric types.
With this extension, the parameters of the return type of a data constructor can be freely chosen when declaring the constructor, while for algebraic data types in Haskell 98, the type parameter of the return value is inferred from data types of parameters; they are currently implemented in the GHC compiler as a non-standard extension, used by, among others, Pugs and Darcs. OCaml supports GADT natively since version 4.00.〔http://caml.inria.fr/pub/distrib/ocaml-4.00/notes/Changes〕
== History ==
An early version of generalized algebraic data types were given in and based on pattern matching in ALF.
Generalized algebraic data types were introduced independently by and prior by as extensions to ML's and Haskell's algebraic data types. Both are essentially equivalent to each other. They are similar to the ''inductive families of data types'' (or ''inductive datatypes'') found in Coq's Calculus of Inductive Constructions and other dependently typed languages, modulo the dependent types and except that the latter have an additional positivity restriction which is not enforced in GADTs.
introduced ''extended algebraic data types'' which combine GADTs together with the existential data types and type class constraints introduced by , and .
Type inference in the absence of any programmer supplied type annotations is undecidable and functions defined over GADTs do not admit principal types in general. Type reconstruction requires several design trade-offs and is on-going research (; ; ; ; ; ; ; ; ; ).

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Generalized algebraic data type」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.